package ups.apps.negocio;

import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.Query;

import ups.apps.model.Cuenta;
@Stateless
public class CuentaDAO {	
	@Inject
	private EntityManager em;

		public void insert(Cuenta c)
		{
			System.out.println("Insertando");
			//em.getTransaction().begin(); //se inicia la transaccion
			em.persist(c);   //manda a insertar
			//em.getTransaction().commit(); //manda un commit a la base
		}
		public void update(Cuenta c)
		{
			System.out.println("Actualizando");
			//em.getTransaction().begin(); //se inicia la transaccion
			em.merge(c);   //manda a actualizar
			//em.getTransaction().commit(); //manda un commit a la base
		}
		public void remove(Cuenta c)
		{
			System.out.println("borrando");
			//em.getTransaction().begin(); //se inicia la transaccion
			em.remove(c);   //manda a borrrar
			//em.getTransaction().commit(); //manda un commit a la base
		}
		public Cuenta read(String id)
		{
			System.out.println("leyendo");			
			Cuenta c=em.find(Cuenta.class, id); //recupera la entidad Cuenta con el id			
			return c;
		}
		
		public List<Cuenta> getCuentas()
		{						
			String sql="select c from Cuenta c";
			Query q=em.createQuery(sql,Cuenta.class);			
			List<Cuenta> list=q.getResultList();			
			return list;
		}

}
